package com.fsserver.core.service;

/**
 * 订单号生成服务接口
 * 
 * @author fsserver
 * @date 2025-03-13
 */
public interface OrderNoService {
    
    /**
     * 生成支付订单号
     * 
     * @param paymentType 支付类型
     * @return 支付订单号
     */
    String generatePaymentOrderNo(String paymentType);
    
    /**
     * 生成支付交易号
     * 
     * @param paymentType 支付类型
     * @return 支付交易号
     */
    String generatePaymentTransactionNo(String paymentType);
    
    /**
     * 生成退款号
     * 
     * @param paymentType 支付类型
     * @return 退款号
     */
    String generateRefundNo(String paymentType);
    
    /**
     * 生成对账号
     * 
     * @param paymentType 支付类型
     * @return 对账号
     */
    String generateReconciliationNo(String paymentType);
    
    /**
     * 生成通知编号
     * 
     * @param notificationType 通知类型
     * @return 通知编号
     */
    String generateNotificationNo(String notificationType);
    
    /**
     * 从订单号中提取业务类型
     * 
     * @param orderNo 订单号
     * @return 业务类型
     */
    String extractBusinessType(String orderNo);
    
    /**
     * 从订单号中提取支付类型
     * 
     * @param orderNo 订单号
     * @return 支付类型
     */
    String extractPaymentType(String orderNo);
    
    /**
     * 从订单号中提取创建日期
     * 
     * @param orderNo 订单号
     * @return 创建日期字符串
     */
    String extractCreateDate(String orderNo);
} 